(1) Field of the Invention
The field of the invention is prevention of unauthorized access to protected memory space, more specifically, the present invention is a method and apparatus for preventing access to protected system management random access memory (SMRAM) space through accelerated graphics port (AGP) address translation into the SMRAM space.
(2) Related Art
System management random access memory (SMRAM) is a secure memory address space in a system memory of a computer system which stores processor status and system management interrupt (SMI) handlers. SMI handlers are software routines which perform various system management functions including system power control. The SMRAM is reserved for proprietary processing including processing of code used to update a basic input output system (BIOS) device. The BIOS device is responsible for booting a computer by providing a basic set of instructions and performing system start-up tasks. The BIOS device also provides an interface to the underlying hardware for the operating system in the form of a library of interrupt handlers.
A computer system may also have an accelerated graphics port (AGP) aperture memory reserved for use by a graphics device for graphics data processing. Currently, to access the AGP aperture memory, a programmer can write an AGP aperture memory address and an SMRAM page number as a corresponding address into a translation table having AGP aperture address to main memory address translation entries. Since the main memory address of the page is actually in the SMRAM space and not in the AGP aperture memory, the translation process redirects the request to the protected SMRAM region in main memory.
If the SMRAM space is accessed by a user, an unauthorized user is able to corrupt the BIOS in a manner which would disable the system and prevent the system from booting in the future until the BIOS is replaced. Other disadvantages of leaving the SMRAM space accessible to users include but are not limited to allowing users to view proprietary code for reverse engineering purposes.
It is therefore desirable to have a method and apparatus which prevents access to the protected SMRAM space through AGP address translation into the SMRAM space.